The present disclosure relates to systems and methods used to reduce performance degradation of a system for a user.
Information Technology (IT) activity today is often executed through web user interfaces. When the workload increases or the user load increases the web interface may become unresponsive or performance of the web interface may decrease because the system cannot afford the unpredicted load. These performance reductions may impact the ability of the web interface to perform the tasks required by users. Often, when experiencing a larger than expected load or other similar situation, a web server may throttle or reduce the resources assigned to some or all of the current web interfaces in an attempt to provide them with some basic level of service.
As an example, the streaming quality of a video or other media that is presented by a web interface may be reduced in an attempt to conserve resources or when network speed becomes poor. For example, the quality of the video or other media may be reduced from high definition (HD) to standard definition (SD) or less if the network speed is reduced. As another example, the resources, bandwidth, processing power, etc., allocated to a web interface executing a process on the server may be reduced in an attempt to lighten the load on the system. However, each of these reductions targets the particular task that is actively being performed by the web interface, thereby reducing or even removing the ability of the web interface to accomplish this task.
When the application or process being performed by the web interface can be clustered, an IT administrator may cluster the system in an attempt to scale up the available resources to match the number of concurrent users and the workload. Even when clustering, when the total number of users or workloads exceeds a threshold amount, the system may once again experience reduced response times or in the worst case fail to respond at all. While clustering may provide a solution to an increase in user load or work load, for example, by adding additional resources, clustering does not reduce the load on the system at the current resource level.